#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""  
@Project : PythonProject
@File : getphoto.py.py
@Author : donc
@Time : 2025/6/1 13:26  
@脚本说明 : 
    
"""
import cv2
import os
import sys  # 添加sys模块用于错误处理

# 创建保存照片的目录（如果不存在）
save_dir = "captured_images"
os.makedirs(save_dir, exist_ok=True)

# 打开默认摄像头
cap = cv2.VideoCapture(0)

if not cap.isOpened():
    print("无法打开摄像头")
    exit()

print("摄像头已打开，正在自动拍照...")

try:
    # 读取一帧画面
    ret, frame = cap.read()
    if not ret:
        print("无法获取帧")
    else:
        # 保存照片
        img_name = os.path.join(save_dir, "auto_captured_image.jpg")
        cv2.imwrite(img_name, frame)
        print(f"📸 已自动保存照片：{img_name}")

except Exception as e:
    print(f"发生错误: {e}")
    sys.exit(1)

finally:
    # 确保资源被释放
    cap.release()

    # 安全地尝试销毁窗口（放在try块中防止崩溃）
    try:
        cv2.destroyAllWindows()
    except:
        pass  # 忽略所有错误

print("📸 自动拍照完成，程序已退出")